package com.suncnpap.system.service;

import java.util.List;

import com.app.util.database.mybatis.Page;
import com.suncnpap.system.model.Menu;

/** 
 * 说明： 菜单权限接口
 * 创建时间：2016-10-19
 * @version
 */
public interface MenuService {

	
	
	/**新增
	 * @param obj
	 */
	public  void add(Menu obj);
	
	
	/**
	 * 根据Id获取对象
	 * @param strId
	 * @return
	 */
	public Menu findById(String strId);
	
	
	
	
	
	

	/**
	 * 获取菜单信息
	 * @param 
	 * @param strSchoolId 独立单位Id，为空则显示全部
	 * @author chenl
	 * @param page 可以传入空，默认排序为intSort
	 * @return
	 */
	public List<Menu> getList(Page page,String strSchoolId);

	/**
	 * 根据strParentId获取最大序号 
	 * chenl
	 * @param strParentId
	 * @return
	 */
	public Integer findMaxSortByParentId(String strParentId);

	/**
	 * 删除其自身及其子集
	 * chenl
	 * @param strId
	 */
	public void deleteAll(String strId);

	/**
	 * * strParentId为当前节点id,-1则是全部
	 * @param all入参，且是所有返回的信息
	 * @param strParentId
	 * chenl
	 */
	List<Menu> listByParentId(String strParentId);

	/**
	 * 更新，同时更新序号
	 * chenl
	 * @param menu
	 */
	public void update(Menu menu);

	/**
	 * 获取所有子级的id
	 * chenl
	 * @param strId
	 * @return
	 */
	List<String> listIdsByParentId(String strId);

	/**
	 * 根据URI获取menu
	 * @param uri
	 * @return
	 * chenl
	 */
	public Menu findByUrl(String uri);

	/**列表
	 * @param page
	 * @
	 */
	public Page list(Page page);
		
}

